Extension point resources
In component org.nuxeo.theme.services.ThemeService
Documentation
Extension Point for registering theme resources.
1) Local resources
The XML syntax is:
<resource name="resourcename.xxx">
<path>path/to/resource.xxx</path>
<require>other-resource.xxx</require>
</resource>
where: - 'name' is the name of the Resource. Supported extensions are '.js', '.css' and '.json'. - 'path' is the path of the Resource to be loaded by the class loader. - 'require' is the name of another Resource that is required. (Optional) Several resources can be required:
other-resource1.xxx other-resource2.xxx
2) Remote resources (theme banks)
Resources can be registered into theme banks to be accessed remotely.
The XML syntax on the server side is:
<import bank="bank name" collection="collection name" src="bank-resources.zip"/>
The zip archive is deployed into the bank. The archive's structure is:
style/ image/ preset/ preset/ preset/border/ preset/font/ preset/background/ preset/color/ ...
Contribution Descriptors
- Class: org.nuxeo.theme.resources.ResourceType
- Class: org.nuxeo.theme.resources.BankImport
Existing Contributions
Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="static-styles.css"> <path>css/static-styles.css</path> </resource> <resource name="screen.css"> <path>css/screen.css</path> </resource> <resource name="foldable-box.js"> <path>scripts/foldable-box.js</path> <require>effects.js</require> </resource> <resource name="window.js"> <path>scripts/window.js</path> </resource> <resource name="window_effects.js"> <path>scripts/window_effects.js</path> </resource> <resource name="waitdlg.js"> <path>waitdialog/waitdlg.js</path> </resource> <resource name="utils.js"> <path>scripts/utils.js</path> </resource> <resource name="tableSelections.js"> <path>scripts/tableSelections.js</path> </resource> <resource name="contextmenu.js"> <path>scripts/contextmenu.js</path> </resource> <resource name="DragAndDrop.js"> <path>scripts/DragAndDrop.js</path> </resource> <resource name="jquery.tools.tooltip.min.js"> <path>scripts/jquery/jquery.tools.tooltip.min.js</path> </resource> <resource name="hideableAdminMessage.js"> <path>scripts/hideableAdminMessage.js</path> </resource> <!-- jquery cookie plugin --> <resource name="jquery.tools.cookie.js"> <path>scripts/jquery/cookie.js</path> </resource> <!-- Fancybox --> <resource name="jquery.fancybox.js"> <!-- useful for debug --> <!-- <path>scripts/jquery/jquery.fancybox.js</path> <shrinkable>false</shrinkable> --> <path>scripts/jquery/jquery.fancybox.pack.js</path> </resource> <resource name="jquery.fancybox.style.css"> <path>css/jquery.fancybox.css</path> </resource> <resource name="fancybox-popup-utils.js"> <path>scripts/fancybox-popup-utils.js</path> </resource> <!-- Hotkeys (e.g. used to focus the search box using '/') --> <resource name="jquery.hotkeys.js"> <path>scripts/jquery/jquery.hotkeys.js</path> </resource> <!-- Helpers for focus on first input of a form --> <resource name="jquery.tools.focusfirst.js"> <path>scripts/jquery/jquery.tools.focusfirst.js</path> </resource> <!-- Workaround for jQuery and Sarissa library conflict on IE --> <resource name="sarissa-ie-workaround.js"> <path>scripts/sarissa-ie-workaround.js</path> <require>jquery.js</require> </resource> <!-- Mustache --> <resource name="mustache.js"> <path>scripts/mustache/mustache.js</path> </resource> <!-- Simple Access Key helper --> <resource name="accessKey.js"> <path>scripts/accessKey.js</path> </resource> <!-- Moment.js --> <resource name="moment.js"> <path>scripts/moment.min-1.5.0nx.js</path> </resource> <!-- jquery-ui resources: order plugins according to their dependencies. --> <resource name="jquery.ui.core.js"> <path>scripts/jquery/jquery.ui.core.js</path> </resource> <resource name="jquery.ui.widget.js"> <path>scripts/jquery/jquery.ui.widget.js</path> </resource> <resource name="jquery.ui.mouse.js"> <path>scripts/jquery/jquery.ui.mouse.js</path> </resource> <resource name="jquery.ui.sortable.js"> <path>scripts/jquery/jquery.ui.sortable.js</path> <require>jquery.ui.core.js</require> <require>jquery.ui.widget.js</require> <require>jquery.ui.mouse.js</require> </resource> <!-- Double click shield --> <resource name="jquery.nuxeo.doubleclickshield.js"> <path>scripts/jquery.nuxeo.doubleclickshield.js</path> <require>jquery.js</require> </resource> <!-- jQuery Ambiance --> <resource name="jquery.ambiance.js"> <path>scripts/jquery/jquery.ambiance.js</path> <require>jquery.js</require> </resource> <resource name="jquery.ambiance.css"> <path>css/jquery.ambiance.css</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="video-js.css"> <path>css/video-js.css</path> </resource> <resource name="video-js.nx.css"> <path>css/video-js.nx.css</path> <require>video-js.css</require> </resource> <resource name="videojs.thumbnails.css"> <path>css/videojs.thumbnails.css</path> </resource> <resource name="video-js.js"> <path>scripts/video.js</path> </resource> <resource name="video-player-util.js"> <path>scripts/video-player-util.js</path> <require>video-js.js</require> </resource> <resource name="videojs.thumbnails.js"> <path>scripts/videojs.thumbnails.js</path> <require>video-js.js</require> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <!-- CSS --> <!-- Gadgets CSS --> <resource name="gadget-mostLiked.css"> <path>css/opensocial/gadgets/mostLiked.css</path> </resource> <!-- JS --> <!-- Gadgets JS --> <resource name="gadget-mostLiked.js"> <path>scripts/opensocial/gadgets/mostLiked.js</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <!-- CSS --> <!-- Gadgets CSS --> <resource name="gadget-polls.css"> <path>css/opensocial/gadgets/polls.css</path> </resource> <!-- JS --> <!-- Gadgets JS --> <resource name="gadget-polls.js"> <path>scripts/opensocial/gadgets/polls.js</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="gadget-agenda.css"> <path>css/opensocial/gadgets/gadget-common.css</path> </resource> <resource name="gadget-agenda.css"> <path>css/opensocial/gadgets/agenda.css</path> </resource> <resource name="fullcalendar.css"> <path>css/fullcalendar.css</path> </resource> <resource name="jquery.ui.fullcalendar.timepicker.addon.css"> <path>css/jquery-ui-timepicker-addon.css</path> </resource> <resource name="gadget-agenda.js"> <path>scripts/opensocial/gadgets/agenda.js</path> </resource> <resource name="fullcalendar.js"> <path>scripts/fullcalendar.min.js</path> </resource> <resource name="fullcalendar.lang.js"> <path>scripts/fullcalendar.lang.js</path> </resource> <resource name="jquery.ui.fullcalendar.js"> <path>scripts/jquery-ui-1.8.19.fullcalendar.min.js</path> </resource> <resource name="jquery.ui.fullcalendar.timepicker.addon.js"> <path>scripts/jquery-ui-timepicker-addon.js</path> </resource> <resource name="jquery.ui.fullcalendar.lang.js"> <path>scripts/jquery-ui-1.8.19.fullcalendar.lang.js</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="gadget-wall.css"> <path>css/opensocial/gadgets/wall.css</path> </resource> <resource name="gadget-wall.js"> <path>scripts/opensocial/gadgets/wall.js</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="gadget-common-activity.css"> <path>css/opensocial/gadgets/gadget-common-activity.css</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="select2.css"> <path>css/select2.css</path> </resource> <resource name="select2.js"> <path>scripts/select2/select2.js</path> <require>jquery.js</require> </resource> <resource name="nuxeo-select2.js"> <path>scripts/select2/nuxeo-select2.js</path> <require>select2.js</require> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="audio-player.js"> <path>scripts/wpaudioplayer/audio-player.js</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="automation.js"> <path>scripts/automation.js</path> <require>jquery.js</require> </resource> <resource name="jquery.jsPlumb-1.5.1-min.js"> <path>scripts/jquery.jsPlumb-1.5.1-min.js</path> <require>jquery.js</require> </resource> <resource name="documentRoutingGraph.js"> <path>scripts/documentRoutingGraph.js</path> <require>jquery.jsPlumb-1.5.1-min.js</require> <require>automation.js</require> </resource> <resource name="documentRoutingGraph.css"> <path>css/documentRoutingGraph.css</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="nxthemes-editor.js"> <path>nxthemes/editor/scripts/nxthemes-editor.js</path> <require>nxthemes.js</require> <require>nxthemes-effects.js</require> </resource> <resource name="jscolor.js"> <path>nxthemes/editor/scripts/jscolor.js</path> </resource> <resource name="nxthemes-editor.css"> <path>nxthemes/editor/styles/nxthemes-editor.css</path> </resource> <resource name="theme-editor.json"> <path> nxthemes/editor/models/theme-editor.json </path> </resource> <resource name="element-mover.json"> <path> nxthemes/editor/controllers/element-mover.json </path> </resource> <resource name="color-picker.json"> <path> nxthemes/editor/controllers/color-picker.json </path> </resource> <resource name="toolbox-mover.json"> <path> nxthemes/editor/controllers/toolbox-mover.json </path> </resource> <resource name="editor-perspectives.json"> <path> nxthemes/editor/controllers/editor-perspectives.json </path> </resource> <resource name="dashboard-perspectives.json"> <path> nxthemes/editor/controllers/dashboard-perspectives.json </path> </resource> <resource name="editor-buttons.json"> <path> nxthemes/editor/controllers/editor-buttons.json </path> </resource> <resource name="theme-buttons.json"> <path> nxthemes/editor/controllers/theme-buttons.json </path> </resource> <resource name="fragment-inserter.json"> <path> nxthemes/editor/controllers/fragment-inserter.json </path> </resource> <resource name="perspective-selector.json"> <path> nxthemes/editor/controllers/perspective-selector.json </path> </resource> <resource name="element-editor-perspectives.json"> <path> nxthemes/editor/controllers/element-editor-perspectives.json </path> </resource> <resource name="element-form-actions.json"> <path> nxthemes/editor/controllers/element-form-actions.json </path> </resource> <resource name="fragment-factory-expander.json"> <path> nxthemes/editor/controllers/fragment-factory-expander.json </path> </resource> <resource name="page-switcher.json"> <path> nxthemes/editor/controllers/page-switcher.json </path> </resource> <resource name="area-style-actions.json"> <path> nxthemes/editor/controllers/area-style-actions.json </path> </resource> <resource name="area-style-perspectives.json"> <path> nxthemes/editor/controllers/area-style-perspectives.json </path> </resource> <resource name="layout-editor-actions.json"> <path> nxthemes/editor/controllers/layout-editor-actions.json </path> </resource> <resource name="style-editor-perspectives.json"> <path> nxthemes/editor/controllers/style-editor-perspectives.json </path> </resource> <resource name="style-editor-actions.json"> <path> nxthemes/editor/controllers/style-editor-actions.json </path> </resource> <resource name="style-preview.json"> <path> nxthemes/editor/views/style-preview.json </path> </resource> <resource name="style-manager-actions.json"> <path> nxthemes/editor/controllers/style-manager-actions.json </path> </resource> <resource name="fragment-preview.json"> <path> nxthemes/editor/views/fragment-preview.json </path> </resource> <resource name="canvas-mode-selector.json"> <path> nxthemes/editor/controllers/canvas-mode-selector.json </path> </resource> <resource name="theme-switcher.json"> <path> nxthemes/editor/controllers/theme-switcher.json </path> </resource> <resource name="context-menu-actions.json"> <path> nxthemes/editor/controllers/context-menu-actions.json </path> </resource> <resource name="context-menu.json"> <path>nxthemes/editor/views/context-menu.json</path> </resource> <resource name="toggle-context-menu.json"> <path> nxthemes/editor/controllers/toggle-context-menu.json </path> </resource> <resource name="link-disabler.json"> <path> nxthemes/editor/controllers/link-disabler.json </path> </resource> <resource name="preset-menu.json"> <path>nxthemes/editor/views/preset-menu.json</path> </resource> <resource name="style-menu.json"> <path>nxthemes/editor/views/style-menu.json</path> </resource> <resource name="style-manager-actions.json"> <path> nxthemes/editor/controllers/style-manager-actions.json </path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="nuxeo-dam.js"> <path>dam/scripts/nuxeo-dam.js</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <!-- Prototype 1.6.1 --> <!-- when changing prototype version, please make sure fix for NXP-2586, NXP-3782 and for NXP-3600 are applied --> <resource name="prototype.js"> <path>nxthemes/html/scripts/prototype.js</path> </resource> <!-- JQuery 1.8.3 --> <resource name="jquery.js"> <path>nxthemes/html/scripts/jquery.js</path> </resource> <!-- Keyboard shortcuts http://www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js --> <resource name="shortcut.js"> <path>nxthemes/html/scripts/shortcut.js</path> </resource> <!-- ObjTree 0.24 (http://www.kawa.net/works/js/xml/objtree-e.html) --> <resource name="objtree.js"> <path>nxthemes/html/scripts/objtree.js</path> </resource> <!-- Scriptaculous v1.8.1 --> <resource name="builder.js"> <path>nxthemes/html/scripts/scriptaculous/builder.js</path> <require>prototype.js</require> </resource> <resource name="effects.js"> <path>nxthemes/html/scripts/scriptaculous/effects.js</path> <require>prototype.js</require> </resource> <resource name="controls.js"> <path>nxthemes/html/scripts/scriptaculous/controls.js</path> <require>effects.js</require> <require>prototype.js</require> </resource> <resource name="dragdrop.js"> <path>nxthemes/html/scripts/scriptaculous/dragdrop.js</path> <require>effects.js</require> <require>prototype.js</require> </resource> <resource name="slider.js"> <path>nxthemes/html/scripts/scriptaculous/slider.js</path> <require>prototype.js</require> </resource> <resource name="sound.js"> <path>nxthemes/html/scripts/scriptaculous/sound.js</path> <require>prototype.js</require> </resource> <!-- Seam 1.0.1.GA --> <resource name="seam-remote.js"> <path>nxthemes/html/scripts/seam-remote.js</path> </resource> <resource name="nxthemes.css"> <path>nxthemes/html/styles/nxthemes.css</path> </resource> <resource name="nxthemes-widgets.css"> <path>nxthemes/html/styles/nxthemes-widgets.css</path> </resource> <resource name="nxthemes-jsf.css"> <path>nxthemes/html/styles/nxthemes-jsf.css</path> </resource> <!-- WYSIWYG JavaScript framework 0.1 http://github.com/37signals/wysihat/tree/master --> <resource name="wysihat.js"> <path>nxthemes/html/scripts/wysihat.js</path> <require>prototype.js</require> </resource> <!-- nxthemes lib --> <resource name="nxthemes.js"> <path>nxthemes/html/scripts/nxthemes/nxthemes.js</path> <require>prototype.js</require> <require>nxthemes.css</require> </resource> <resource name="nxthemes-widgets.js"> <path> nxthemes/html/scripts/nxthemes/nxthemes-widgets.js </path> <require>nxthemes.js</require> <require>nxthemes-widgets.css</require> </resource> <resource name="nxthemes-effects.js"> <path> nxthemes/html/scripts/nxthemes/nxthemes-effects.js </path> <require>nxthemes.js</require> </resource> <resource name="nxthemes-controllers.js"> <path> nxthemes/html/scripts/nxthemes/nxthemes-controllers.js </path> <require>nxthemes-effects.js</require> </resource> <resource name="nxthemes-storages.js"> <path> nxthemes/html/scripts/nxthemes/nxthemes-storages.js </path> <require>nxthemes.js</require> </resource> <!-- AutoSuggest lib --> <resource name="autosuggest.css"> <path>nxthemes/html/styles/autosuggest.css</path> </resource> <resource name="bsn.AutoSuggest_2.1.3.js"> <path>nxthemes/html/scripts/bsn.AutoSuggest_2.1.3.js</path> </resource> <!-- JQuery UI Slider 1.9.2--> <resource name="jquery.ui.slider.js"> <path>nxthemes/html/scripts/jquery-ui-1.9.2.slider.js</path> </resource> <!-- JQuery UI CSS Slider 1.9.2--> <resource name="jquery.ui.slider.css"> <path>nxthemes/html/styles/jquery-ui-1.9.2.slider.min.css</path> </resource> </extension>